home *** CD-ROM | disk | FTP | other *** search
- package koala.dynamicjava.tree;
-
- public class IntegerLiteral extends Literal {
- private static Integer parse(String var0) {
- if (var0.startsWith("0x")) {
- return parseHexadecimal(var0.substring(2, var0.length()));
- } else {
- return var0.startsWith("0") ? parseOctal(var0) : Integer.valueOf(var0);
- }
- }
-
- private static Integer parseHexadecimal(String var0) {
- int var1 = 0;
-
- for(int var2 = 0; var2 < var0.length(); ++var2) {
- char var3 = Character.toLowerCase(var0.charAt(var2));
- if (var1 >>> 28 != 0) {
- throw new NumberFormatException(var0);
- }
-
- var1 = (var1 << 4) + var3 + (var3 >= 'a' && var3 <= 'f' ? -87 : -48);
- }
-
- return new Integer(var1);
- }
-
- private static Integer parseOctal(String var0) {
- int var1 = 0;
-
- for(int var2 = 0; var2 < var0.length(); ++var2) {
- char var3 = var0.charAt(var2);
- if (var1 >>> 29 != 0) {
- throw new NumberFormatException(var0);
- }
-
- var1 = (var1 << 3) + var3 - 48;
- }
-
- return new Integer(var1);
- }
-
- public IntegerLiteral(String var1) {
- this(var1, (String)null, 0, 0, 0, 0);
- }
-
- public IntegerLiteral(String var1, String var2, int var3, int var4, int var5, int var6) {
- super(var1, parse(var1), Integer.TYPE, var2, var3, var4, var5, var6);
- }
- }
-